package com.example.demo.start;

public class StudyStringBufferClass {

    public static void main(String[] args) {
        // 在这方面运行速度快慢为：StringBuilder > StringBuffer > String
        // 适用多线程下在字符缓冲区进行大量操作的情况
        StringBuffer str = new StringBuffer();
        str.append("11");
        str.insert(0,"3333"); // 指定下标开始插入，从插入的地方开始插入，超过会报越界错误
        if (str.length() > 10){
            str.deleteCharAt(10); // 指定下标删除，超过字符串长度会越界
        }
        // 333311
        str.delete(1,3); // [1,3) 前包含，后不包含
        // 3311
        str.replace(0,1,"5555"); // [0,1) 前包含，后不包含
        // 5555311
        str.reverse(); // 字符串反转
        // 1135555
        System.out.println(str.substring(4));// 截取字符串
        System.out.println(str.substring(1,3));  // 前包含，后不包含
        System.out.println(str);

        // 适用于单线程下在字符缓冲区进行大量操作的情况
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append("1111"); // 追加
        System.out.println(stringBuilder);
    }
}
